home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ V5.02 / MIXTREE.PAK / MIXINFO.H < prev    next >
Text File  |  1997-05-06  |  10KB  |  519 lines

  1. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  2. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  3. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  4. // PARTICULAR PURPOSE.
  5. //
  6. // Copyright (C) 1993 - 1995  Microsoft Corporation.  All Rights Reserved.
  7. //
  8. //  FILE:     mixinfo.h
  9. //
  10. //  PURPOSE:  Header file for mixinfo.c
  11. //
  12. //  COMMENTS: The mixer simulation data is provided for the purpose of enabling
  13. //            the MixTree sample to run on systems that do not include a mixer
  14. //            device.  It does not provide all the initialization information
  15. //            required of actual mixer controls and is not a complete 
  16. //            simulation.
  17.  
  18. #define SIMLINES        7  // total number of simulated mixer lines
  19. #define SIMDESTLINES    3  // number of simulated destination lines
  20. #define SIMSRCLINES     4  // number of simulated source lines
  21. #define MAXSRCLINES     3  // max source lines associated with a destination
  22. #define SIMCONTROLS     19 // number of simulated mixer controls
  23. #define MAXLINECONTROLS 3  // max controls associated with a single line
  24.  
  25. // array of simulated mixer lines
  26. // destination lines MUST come first!
  27. MIXERLINE SimLine[SIMLINES] =
  28. {
  29.     // Destination 0 = SimLine[0]
  30.     {
  31.         sizeof(MIXERLINE),
  32.         0,
  33.         0,
  34.         0,
  35.         0,
  36.         0,
  37.         MIXERLINE_COMPONENTTYPE_DST_SPEAKERS,
  38.         2,
  39.         3,
  40.         2,
  41.         "Line Out",
  42.         "Line Output",
  43.         {
  44.             MIXERLINE_TARGETTYPE_UNDEFINED,
  45.             0,
  46.             0,
  47.             0,
  48.             0,
  49.             "",
  50.         }
  51.     },
  52.  
  53.     // Destination 1 = SimLine[1]
  54.     {
  55.         sizeof(MIXERLINE),
  56.         1,
  57.         0,
  58.         1,
  59.         0,
  60.         0,
  61.         MIXERLINE_COMPONENTTYPE_DST_WAVEIN,
  62.         2,
  63.         2,
  64.         1,
  65.         "Wave In",
  66.         "Wave Input",
  67.         {
  68.             MIXERLINE_TARGETTYPE_WAVEIN,
  69.             0,
  70.             0,
  71.             0,
  72.             0,
  73.             "Simulated Mixer Device",
  74.         }
  75.     },
  76.  
  77.     // Destination 2 = SimLine[2]
  78.     {
  79.         sizeof(MIXERLINE),
  80.         2,
  81.         0,
  82.         2,
  83.         0,
  84.         0,
  85.         MIXERLINE_COMPONENTTYPE_DST_VOICEIN,
  86.         2,
  87.         2,
  88.         1,
  89.         "Voice In",
  90.         "Voice Input",
  91.         {
  92.             MIXERLINE_TARGETTYPE_WAVEIN,
  93.             0,
  94.             0,
  95.             0,
  96.             0,
  97.             "Simulated Mixer Device",
  98.         }
  99.     },
  100.  
  101.     // Source 0 = SimLine[3]
  102.     {
  103.         sizeof(MIXERLINE),
  104.         0,
  105.         0,
  106.         3,
  107.         MIXERLINE_LINEF_SOURCE,
  108.         0,
  109.         MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY,
  110.         2,
  111.         0,
  112.         3,
  113.         "Aux In",
  114.         "Auxiliary Input",
  115.         {
  116.             MIXERLINE_TARGETTYPE_UNDEFINED,
  117.             0,
  118.             0,
  119.             0,
  120.             0,
  121.             "",
  122.         }
  123.     },
  124.  
  125.     // Source 1 = SimLine[4]
  126.     {
  127.         sizeof(MIXERLINE),
  128.         0,
  129.         1,
  130.         4,
  131.         MIXERLINE_LINEF_SOURCE,
  132.         0,
  133.         MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT,
  134.         2,
  135.         0,
  136.         3,
  137.         "Wave Out",
  138.         "Wave Output",
  139.         {
  140.             MIXERLINE_TARGETTYPE_WAVEOUT,
  141.             0,
  142.             0,
  143.             0,
  144.             0,
  145.             "Simulated Mixer Device",
  146.         }
  147.     },
  148.  
  149.     // Source 2 = SimLine[5]
  150.     {
  151.         sizeof(MIXERLINE),
  152.         0,
  153.         2,
  154.         5,
  155.         MIXERLINE_LINEF_SOURCE,
  156.         0,
  157.         MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER,
  158.         2,
  159.         0,
  160.         2,
  161.         "Synth Out",
  162.         "Synthesizer Output",
  163.         {
  164.             MIXERLINE_TARGETTYPE_MIDIOUT,
  165.             0,
  166.             0,
  167.             0,
  168.             0,
  169.             "Simulated Synth Device",
  170.         }
  171.     },
  172.  
  173.     // Source 3 = SimLine[6]
  174.     {
  175.         sizeof(MIXERLINE),
  176.         0,
  177.         3,
  178.         6,
  179.         MIXERLINE_LINEF_SOURCE,
  180.         0,
  181.         MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE,
  182.         2,
  183.         0,
  184.         2,
  185.         "Mic In",
  186.         "Microphone Input",
  187.         {
  188.             MIXERLINE_TARGETTYPE_UNDEFINED,
  189.             0,
  190.             0,
  191.             0,
  192.             0,
  193.             "Simulated Mixer Device",
  194.         }
  195.     }
  196. };
  197.  
  198. // array of source line ID's associated with destination lines
  199. DWORD SimSourceID[SIMDESTLINES][MAXSRCLINES] = {
  200.     {
  201.         3, 4, 5   // dest 0 (Line Out)
  202.     }, 
  203.     {
  204.         3, 6, 0   // dest 1 (Wave In)
  205.     },
  206.     {
  207.         3, 6, 0   // dest 2 (Voice In)
  208.     }
  209. };
  210.  
  211. // array of control ID's associated with simulated mixer lines
  212. DWORD SimLineControlID[SIMLINES][MAXLINECONTROLS] = {
  213.     {
  214.         5, 10, 0   // dest 0 (Line Out)
  215.     },
  216.     {   
  217.         1, 0,  0   // dest 1 (Wave In)
  218.     },
  219.     { 
  220.         0, 0,  0   // dest 2 (Voice In)
  221.     },
  222.     {    
  223.         2, 7,  11  // src 0  (Aux In)
  224.     },
  225.     {   
  226.         3, 8,  13  // src 1  (Wave Out)
  227.     },                       
  228.     {   
  229.         4, 9,  0   // src 2  (Synth Out)
  230.     },                       
  231.     {   
  232.         6, 12, 0   // src 3  (Mic In)
  233.     }
  234. };
  235.  
  236.  
  237. // array of simulated mixer line controls
  238. MIXERCONTROL SimLineControl[SIMCONTROLS] = {
  239.     // Control 0
  240.     {
  241.         sizeof(MIXERCONTROL),
  242.         0,
  243.         MIXERCONTROL_CONTROLTYPE_MUX,
  244.         0,
  245.         2,
  246.         "VoxInMux",
  247.         "Voice Input Multiplex",
  248.         {
  249.             {
  250.                 0,
  251.                 1
  252.             }
  253.         },
  254.         {
  255.             1
  256.         }
  257.     },
  258.  
  259.     // Control 1
  260.     {
  261.         sizeof(MIXERCONTROL),
  262.         1,
  263.         MIXERCONTROL_CONTROLTYPE_MUX,
  264.         0,
  265.         2,
  266.         "WavInMux",
  267.         "Wave Input Multiplex",
  268.         {
  269.             {
  270.                 0,
  271.                 1
  272.             }
  273.         },
  274.         {
  275.             1
  276.         }
  277.     },
  278.  
  279.     // Control 2
  280.     {
  281.         sizeof(MIXERCONTROL),
  282.         2,
  283.         MIXERCONTROL_CONTROLTYPE_VOLUME,
  284.         0,
  285.         0,
  286.         "AuxInVol",
  287.         "Auxiliary Input Volume",
  288.         {
  289.             {
  290.                 0,
  291.                 0xFFFF
  292.             }
  293.         },
  294.         {
  295.             16
  296.         }
  297.     },
  298.  
  299.     // Control 3
  300.     {
  301.         sizeof(MIXERCONTROL),
  302.         3,
  303.         MIXERCONTROL_CONTROLTYPE_VOLUME,
  304.         0,
  305.         0,
  306.         "WaveOutVol",
  307.         "Wave Output Volume",
  308.         {
  309.             {
  310.                 0,
  311.                 0xFFFF
  312.             }
  313.         },
  314.         {
  315.             16
  316.         }
  317.     },
  318.  
  319.     // Control 4
  320.     {
  321.         sizeof(MIXERCONTROL),
  322.         4,
  323.         MIXERCONTROL_CONTROLTYPE_VOLUME,
  324.         0,
  325.         0,
  326.         "MidiOutVol",
  327.         "MIDI Output Volume",
  328.         {
  329.             {
  330.                 0,
  331.                 0xFFFF
  332.             }
  333.         },
  334.         {
  335.             16
  336.         }
  337.     },
  338.     
  339.     // Control 5
  340.     {
  341.         sizeof(MIXERCONTROL),
  342.         5,
  343.         MIXERCONTROL_CONTROLTYPE_VOLUME,
  344.         0,
  345.         0,
  346.         "LineOutVol",
  347.         "Line Output Volume",
  348.         {
  349.             {
  350.                 0,
  351.                 0xFFFF
  352.             }
  353.         },
  354.         {
  355.             16
  356.         }
  357.     },
  358.  
  359.     // Control 6
  360.     {
  361.         sizeof(MIXERCONTROL),
  362.         6,
  363.         MIXERCONTROL_CONTROLTYPE_VOLUME,
  364.         0,
  365.         0,
  366.         "MicInVol",
  367.         "Microphone Input Volume",
  368.         {
  369.             {
  370.                 0,
  371.                 0xFFFF
  372.             }
  373.         },
  374.         {
  375.             16
  376.         }
  377.     },
  378.  
  379.     // Control 7
  380.     {
  381.         sizeof(MIXERCONTROL),
  382.         7,
  383.         MIXERCONTROL_CONTROLTYPE_MUTE,
  384.         0,
  385.         0,
  386.         "AuxInMute",
  387.         "Auxiliary Input Mute",
  388.         {
  389.             {
  390.                 0,
  391.                 1
  392.             }
  393.         },
  394.         {
  395.             0
  396.         }
  397.     },
  398.  
  399.     // Control 8
  400.     {
  401.         sizeof(MIXERCONTROL),
  402.         8,
  403.         MIXERCONTROL_CONTROLTYPE_MUTE,
  404.         0,
  405.         0,
  406.         "WaveOutMute",
  407.         "Wave Output Mute",
  408.         {
  409.             {
  410.                 0,
  411.                 1
  412.             }
  413.         },
  414.         {
  415.             0
  416.         }
  417.     },
  418.  
  419.     // Control 9
  420.     {
  421.         sizeof(MIXERCONTROL),
  422.         9,
  423.         MIXERCONTROL_CONTROLTYPE_MUTE,
  424.         0,
  425.         0,
  426.         "MidiOutMute",
  427.         "MIDI Output Mute",
  428.         {
  429.             {
  430.                 0,
  431.                 1
  432.             }
  433.         },
  434.         {
  435.             0
  436.         }
  437.     },
  438.  
  439.     // Control 10
  440.     {
  441.         sizeof(MIXERCONTROL),
  442.         10,
  443.         MIXERCONTROL_CONTROLTYPE_MUTE,
  444.         0,
  445.         0,
  446.         "LineOutMute",
  447.         "Line Output Mute",
  448.         {
  449.             {
  450.                 0,
  451.                 1
  452.             }
  453.         },
  454.         {
  455.             0
  456.         }
  457.     },
  458.  
  459.     // Control 11
  460.     {
  461.         sizeof(MIXERCONTROL),
  462.         11,
  463.         MIXERCONTROL_CONTROLTYPE_PEAKMETER,
  464.         0,
  465.         0,
  466.         "AuxInPeak",
  467.         "Auxiliary Input Peak Meter",
  468.         {
  469.             {
  470.                 -32768,
  471.                 32767
  472.             }
  473.         },
  474.         {
  475.             0
  476.         }
  477.     },
  478.  
  479.     // Control 12
  480.     {
  481.         sizeof(MIXERCONTROL),
  482.         12,
  483.         MIXERCONTROL_CONTROLTYPE_PEAKMETER,
  484.         0,
  485.         0,
  486.         "MicInPeak",
  487.         "Microphone Input Peak Meter",
  488.         {
  489.             {
  490.                 -32768,
  491.                 32767
  492.             }
  493.         },
  494.         {
  495.             0
  496.         }
  497.     },
  498.  
  499.     // Control 13
  500.     {
  501.         sizeof(MIXERCONTROL),
  502.         13,
  503.         MIXERCONTROL_CONTROLTYPE_PEAKMETER,
  504.         0,
  505.         0,
  506.         "WaveOutPeak",
  507.         "Wave Output Peak Meter",
  508.         {
  509.             {
  510.                 -32768,
  511.                 32767
  512.             }
  513.         },
  514.         {
  515.             0
  516.         }
  517.     }   
  518. };
  519.